The use of mobile devices in general, and smart phones in particular, has significantly increased. In many cases mobile devices have become a primary replacement for other computing devices. Today mobile devices access a variety of applications and consume large amounts of data in both directions, i.e., the upload and download of data. Mobile devices typically utilize wireless bandwidth through a wireless local area network (WLAN) or the cellular network. The data bandwidth consumption by a mobile device through the cellular network, either in transfer speed or volume, tends to be expensive, especially when the user is outside of the boundaries of a given data package. Such costs may be further increased when the mobile device is capable of multi-tasking, i.e., the execution of multiple applications in parallel. To this end, the multiple applications make asynchronous demands for the data bandwidth over the costly data communication channel. This may be further costly in terms of power consumption of the mobile device, such that any increased efficiency of batteries is offset by the additional power required for the wireless communication either through a cellular network or a wireless local area network (WLAN).
Various techniques have been used to reduce the data bandwidth consumption by mobile devices. Standard ways to reduce the amounts of data sent to and from the mobile device include a plurality of well-known compression techniques. However, such techniques are limited and further data reduction may be required. This is particularly true with respect to data provided by e-mail applications where it has become customary to attach documents, pictures, video clips and the like which significantly increase the size of the e-mail. In many cases the user does not desire to receive all this data.
A common technique to reduce the amount of data is to not send an e-mail that is over a particular size to the mobile device, but to instead send only certain portions thereof and allow the user to request the download of the rest of the e-mail on demand. The threshold is typically a built-in function on the mobile application and operates automatically, providing certain additional bandwidth savings.
An exemplary protocol that is now widely used for the purpose of such synchronization of a mobile device is the Microsoft ActiveSync® protocol. However, this protocol does not define the kinds of compression or handling of data to reduce the amount of data provided to the mobile device. This decision is typically built-in by the application in general, and the e-mail application in particular. In a typical application, such as the e-mail application on Apple's iPhone®, two separate types of decisions are made by the e-mail application. One has to do with the size of the text in rich or simple format and the other has to do with handling attachments to an e-mail message. The decision is made on a per e-mail basis; therefore it is often the case that unwanted data is automatically downloaded to the mobile device, thereby increasing the user's cost unnecessarily.
However, there are many other applications that use the data communication channel for both upload and download of data. Such applications may be loaded onto the mobile device in open operating systems, such as, for example, an Android™ operating system. Such systems allow for any compatible application to be loaded onto the mobile device. The loaded applications, e.g., office applications, communication applications, game applications, and the like, may generate requests for upload or download of data through the data communication channel, which may result in significant costs to the user of the mobile device. Currently such applications cannot be configured as to when they can access data communication channels. Thus, the user has limited control over the amount of bandwidth that can be consumed by such applications.
Furthermore, as mobile devices have cache in which content is stored, such content is referenced by different applications installed on the mobile device. However, it is not always guaranteed that such data contained in the local cache is current and that it may be used by the same or another application as valid data. Consequently, repeated attempts to bring already existing data on the local cache occur frequently, thereby using both valuable bandwidth as well as reducing battery life.
It would be therefore advantageous to provide a solution that overcomes the limitations of currently available applications for mobile devices. It would be further advantageous if such a solution would not require changes to the applications that are downloaded to the mobile device.